热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

类Hashtable及与HashMap的区别

类Hashtable<K,V>所有已实现的接口:Serializable,Cloneable,Map<K,V>此类实现一个哈希表,该哈希表将键映


类 Hashtable

所有已实现的接口: 
Serializable, Cloneable, Map 
此类实现一个哈希表,该哈希表将键映射到相应的值。任何非 null 对象都可以用作键或值。
为了成功地在哈希表中存储和获取对象,用作键的对象必须实现 hashCode 方法和 equals 方法。


从Java 2 平台 v1.2起,此类就被改进以实现 Map 接口,
使它成为 Java Collections Framework 中的一个成员。
不像新的 collection 实现,Hashtable 是同步的 

已被HashMap替代

面试题

  HashMap和Hashtable的区别

 共同点:
   底层都是哈希算法,都是双列集合
 区别:
1,HashMap是线程不安全的,效率高,JDK1.2版本
  Hashtable是线程安全的,效率低,JDK1.0版本的
2,HashMap可以存储null键和null值
   Hashtable不可以存储null键和null值

import java.util.HashMap;
import java.util.Hashtable;
public class g {

public static void main(String[] args) {
HashMap hm = new HashMap<>();
hm.put(null, 23);
hm.put("李四", null);
System.out.println(hm);

Hashtable ht = new Hashtable<>();
//ht.put(null, 23);
//ht.put("张三", null);
/* java.lang.NullPointerException
at java.util.Hashtable.put(Unknown Source)*/

System.out.println(ht);

}

}




推荐阅读
  • HashTable与ConcurrentHashMap均可实现HashMap的功能,对外提供了键值对存储的数据结构。但是在内部结构及实现上有何区别,性能上的差异到底在哪里又是如何导致的 ... [详细]
  • 一、HashMap1.HashMap概述:HashMap是基于哈希表的Map接口的非同步实现。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是 ... [详细]
  • 深入解析Java枚举及其高级特性
    本文详细介绍了Java枚举的概念、语法、使用规则和应用场景,并探讨了其在实际编程中的高级应用。所有相关内容已收录于GitHub仓库[JavaLearningmanual](https://github.com/Ziphtracks/JavaLearningmanual),欢迎Star并持续关注。 ... [详细]
  • 深入解析Java虚拟机(JVM)架构与原理
    本文旨在为读者提供对Java虚拟机(JVM)的全面理解,涵盖其主要组成部分、工作原理及其在不同平台上的实现。通过详细探讨JVM的结构和内部机制,帮助开发者更好地掌握Java编程的核心技术。 ... [详细]
  • Java 架构:深入理解 JDK 动态代理机制
    代理模式是 Java 中常用的设计模式之一,其核心在于代理类与委托类共享相同的接口。代理类主要用于为委托类提供预处理、过滤、转发及后处理等功能,以增强或改变原有功能的行为。 ... [详细]
  • 本文深入探讨了Java中的代理模式,包括静态代理和动态代理的概念、实现及其应用场景。通过具体的代码示例,详细解析了如何利用代理模式增强代码的功能性和灵活性。 ... [详细]
  • 本文详细解析了Java编程语言中的浅克隆和深克隆概念,通过实例代码演示了两者的区别与应用场景,帮助开发者更好地理解和使用对象克隆技术。 ... [详细]
  • 本文介绍了如何使用遗传算法来解决加工部件与加工机器之间的最佳匹配问题。研究结果显示,算法具有良好的收敛性能,但在某些情况下可能因样本量不足而导致过早收敛。研究旨在通过遗传算法寻找最优的加工部件分配方案,以最小化加工时间。 ... [详细]
  • 我有3个来自RESEARCHS的映射值,指定要使用参考数据集填充的行中的范围。该研究 ... [详细]
  • 本篇文章给大家分享的是有关Java中怎么对HashMap按键值排序,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话 ... [详细]
  • 将学生对象和学生的归属地通过键与值存储到map集合中。importjava.util.HashMap;importjava.util.Iterator;importjava.uti ... [详细]
  • 01Map集合概述A:Map集合概述:我们通过查看Map接口描述,发现Map接口下的集合与Collection接口下的集合,它们存储数据的形式不同a:Collection中的集合 ... [详细]
  • 缓存这个东西就是为了提高运行速度的,由于缓存是在寸土寸金的内存里面,不是在硬盘里面,所以容量是很有限的。LRU这个算法就是把最近一次使用时间离现在时间最远的数据删除掉。先说说List:每 ... [详细]
  • ***功能:排序*privatestaticvoidoutputRegionStatistics(HashMap<String,Integer>regionMap){ ... [详细]
  • 常用API-Hashtable类及其与HashMap、HashSet的区别转载请表明出处:http:blog.csdn.netu012637501(嵌入式_小J的天空)一、Hashtable&l ... [详细]
author-avatar
mobiledu2502859223
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有